'''RDD数据计算_reduceByKey
 reduceByKey算子： 针对key-Value型，自动按照Key分组，然后根据你提供的聚合逻辑，完成组内数据(value)的聚合操作；'''

from pyspark import SparkConf, SparkContext
# 使用os 配置python安装位置， 帮助spark找到python;
import os
os.environ['PYSPARK_PYTHON'] = 'D:\\yfxdeve\\python\Python39\\python.exe'

conf = SparkConf().setMaster("local[*]").setAppName("test_park")
sc = SparkContext(conf=conf)


# 准备一个rdd
rdd1 = sc.parallelize([('男', 56), ('女', 66), ('男', 67), ('女', 76)])
# 需求：求出男生与女生 两组成绩的和
rdd2 = rdd1.reduceByKey(lambda a, b: a+b)
print(rdd2.collect()) # 执行结果： [('男', 123), ('女', 142)]


# 关闭
sc.stop()